/*
 * Coordenada3d.cpp
 *
 *  Created on: May 25, 2009
 *      Author: Adailton de Jesus Cerqueira Junior  <adailton.junior@gmail.com>
 */

#include "../include/Coordenada3d.h"

Coordenada3d::Coordenada3d()
:Coordenada2d(), mZ(0)
{
}

Coordenada3d::Coordenada3d(double x, double y, double z)
:Coordenada2d(x, y), mZ(z)
{
}

Coordenada3d::~Coordenada3d()
{
}

double
Coordenada3d::Z()
{
    return mZ;
}

void
Coordenada3d::setCoordenadas(Coordenada3d coor)
{
    X(coor.X());
    Y(coor.Y());
    Z(coor.Z());
}

void
Coordenada3d::setCoordenadas(double x, double y, double z)
{
    X(x);
    Y(y);
    Z(z);
}

void
Coordenada3d::Z(double z)
{
    mZ = z;
}

bool
Coordenada3d::operator ==(Coordenada3d ponto)
{
    if(mX == ponto.mX && mY == ponto.mY && mZ == ponto.mZ)
    {
        return true;
    }
    else
    {
        return false;
    }
}

bool
Coordenada3d::operator !=(Coordenada3d ponto)
{
    if(mX != ponto.mX || mY != ponto.mY || mZ != ponto.mZ)
    {
        return true;
    }
    else
    {
        return false;
    }
}

std::string
Coordenada3d::toString()
{
    std::string ret;
    ret = convert_to<std::string>(mX) + ", ";
    ret += convert_to<std::string>(mY) + ", ";
    ret += convert_to<std::string>(mZ);
    return ret;
}

